1. Field of the Invention
The present invention pertains to the field of random-number generators and, in particular, for testing whether the random numbers generated by a random-number generator are sufficiently random.
2. Description of the Related Art
A truly random sequence is difficult to generate in real application. For example, heat is typically generated in the hardware component of a random-number generator when the random-number generator generates a series of 1's and 0's over a time period. In some situations generating a 1 bit could consume more power than generating a 0 bit. When a long sequence of 1 bits is generated, the electrical circuit of the random generator tends to become hot. Thus, if the circuit generates a 1 bit when it is hot, the circuit will “latch up.” As a result, the circuit will generate mostly 1 bits but rarely a 0 bit. The fore-mentioned biased 0/1 frequency error will have catastrophic consequences if the random numbers are used in security critical applications.
Accordingly, both the detection of hardware tampering and a component failure are necessary when conducting randomness tests. Conventional randomness tests are performed through extensive statistical testing, such as chi-squared tests, delta tests, and the like, on a sequence of generated random numbers. However, such tests are very expensive to perform in real time as they require a great amount of computational-processing power.